Skip to content

Conversation

@a3f
Copy link
Member

@a3f a3f commented Jan 25, 2025

While umpf was explicitly developed with multiple developers adding utags and sharing topic branches in mind, it is less than ideal when there are multiple developers working on the same topic branches.

And it frequently leads to one of two issues:

  • The branch is pushed before the utag is accepted into the BSP repository and other developers get an unexpected addition to their umpf

  • The branch is not pushed after the utag is accepted into the BSP repository and other developers get an unexpected removal from their umpf

Every time this happens, it wastes a bit of time to identify what went wrong and thus a solution built into umpf is appropriate:

  • CI will call umpf --remote=downstream --force push $BSP/series.inc when a PR touching a useries is accepted

  • Developers can call umpf pull to synchronize their topic branches or to find out when difference they have to the now upstream version

@a3f a3f force-pushed the afa/umpf-push-pull-legs branch 2 times, most recently from 4353753 to b48609e Compare January 25, 2025 10:17
Copy link
Member

@michaelolbrich michaelolbrich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like this in general. A lot of small stuff, and as noted below, I think you can remove the local special case.

umpf Outdated
fi
local rtagrev="$(resolve_tag "${remote}" ${tagname})"
local rtagrevf="$(resolve_commitish ${rtagrev}^)"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use resolve_tag here as well to make it less confusing.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using rev-parse on FETCH_HEAD^ as resolve_remote_tag uses ls-remote which can't deal with ^

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is now local rtagrevf="$(${GIT} rev-parse --revs-only "FETCH_HEAD^" 2>/dev/null)"

@a3f a3f force-pushed the afa/umpf-push-pull-legs branch from b48609e to 4602b01 Compare September 3, 2025 16:08
@a3f a3f requested a review from michaelolbrich September 3, 2025 16:13
@a3f a3f force-pushed the afa/umpf-push-pull-legs branch from 4602b01 to 14dbf0f Compare September 17, 2025 05:39
@a3f a3f requested a review from michaelolbrich September 17, 2025 05:42
@a3f a3f force-pushed the afa/umpf-push-pull-legs branch 2 times, most recently from 2f1ffad to 0269e99 Compare October 15, 2025 13:47
@a3f
Copy link
Member Author

a3f commented Oct 15, 2025

I reworked the PR after discussion with @michaelolbrich. Key changes:

  • do not rely on existence of umpf-release: use umpf-version and last topic-range
  • collect branches/branch names into associative array early and use that
  • use ls-remote to look up remote revisions for the branches

Copy link
Member

@michaelolbrich michaelolbrich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Almost there just minor stuff left that I should have found earlier. Sorry about that.

While umpf was explicitly developed with multiple developers adding
utags and sharing topic branches in mind, it is less than ideal when
there are multiple developers working on the same topic branches.

And it frequently leads to one of two issues:

  - The branch is pushed before the utag is accepted into the BSP
    repository and other developers get an unexpected addition to
    their umpf

  - The branch is not pushed after the utag is accepted into the BSP
    repository and other developers get an unexpected removal from
    their umpf

Every time this happens, it wastes a bit of time to identify what went
wrong and thus a solution built into umpf is appropriate:

  - CI will call umpf --remote=downstream --force push $BSP/series.inc
    when a PR touching a useries is accepted

  - Developers can call umpf pull to synchronize their topic branches
    or to find out when difference they have to the now upstream
    version

Signed-off-by: Ahmad Fatoum <[email protected]>
@a3f a3f force-pushed the afa/umpf-push-pull-legs branch from 0269e99 to 7d0912f Compare October 17, 2025 11:34
@a3f a3f requested a review from michaelolbrich October 17, 2025 12:21
@michaelolbrich michaelolbrich merged commit 881037a into pengutronix:master Oct 17, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants